Der Vergleich zeigt die monatlichen Anfragezahlen des Jahres.
cache_rdb <- tab_rdb %>%
filter(abrufart != "Client", EVAS1 != "A") %>%
group_by(monat) %>%
summarise(erledigt = sum(abrufe))
cache_bdb <- tab_bdb %>%
filter(abrufart != "Client" & laender != "99") %>%
group_by(monat) %>%
summarise(offen = sum(abrufe))
cache_ldb <- tab_ldb %>%
filter(abrufart != "Client") %>%
group_by(monat) %>%
summarise(insgesamt = sum(abrufe))
cache_join <- left_join(cache_ldb, cache_rdb, by = "monat") %>%
left_join(., cache_bdb, by = "monat")
cache_join %>% gather("Datenbank", "Anzahl", -monat) %>%
mutate(Datenbank = fct_relevel(Datenbank, c("insgesamt", "erledigt", "offen"))) %>%
hchart(type = "column", hcaes(x = monat, y = Anzahl, group = Datenbank))%>%
hc_xAxis(title = list(text = "Monat")) %>%
hc_yAxis(title = list(text = "Anzahl der Anfragen")) %>%
hc_tooltip(crosshairs = TRUE, borderColor = "#446e9b", shared = TRUE, borderWidth = 2, borderRadius = 20, hideDelay = 1000) %>%
#Anpassung des Highcharts-Export-Buttons, der Funktionen und der Bezeichungen
hc_exporting(enabled = TRUE,
buttons = list(contextButton = list(text = "Export", symbolStroke = "#446e9b",
menuItems = items)),
menuItemDefinitions = itemDef)Der Vergleich zeigt die arbeitstäglichen Anfrageaktivitäten im Service Center. An den Wochenenden verzeichnen alle Werte geringe Aktivitäten, daher werden diese ausgeblendet.
begriffe_rdb$jmt <- floor_date(begriffe_rdb$Zeitpunkt, unit = "day")
jmt_rdb <- begriffe_rdb %>%
filter(BNO_Art == 3 & year(Zeitpunkt)== 2018) %>%
select(ID, jmt) %>%
group_by(jmt) %>%
summarise(erledigt = n_distinct(ID))
begriffe_bdb$jmt <- floor_date(begriffe_bdb$Zeitpunkt, unit = "day")
jmt_bdb <- begriffe_bdb %>%
filter(BNO_Art == 3 & year(Zeitpunkt)== 2018) %>%
select(ID, jmt) %>%
group_by(jmt) %>%
summarise(offen = n_distinct(ID))
begriffe_ldb$jmt <- floor_date(begriffe_ldb$Zeitpunkt, unit = "day")
jmt_ldb <- begriffe_ldb %>%
filter(BNO_Art == 3 & year(Zeitpunkt)== 2018) %>%
select(ID, jmt) %>%
group_by(jmt) %>%
summarise(insgesamt = n_distinct(ID))
jmt_join <- left_join(jmt_rdb, jmt_bdb, by = "jmt") %>%
left_join(., jmt_ldb, by = "jmt")
jmt_join %>% gather("Datenbank", "Anzahl", -jmt) %>%
mutate(arbeitstag = wday(jmt)) %>% #Identifikation der Wochentage
filter(arbeitstag %in% c(2:6)) %>% #Ausfiltern der Wochenenden (=1 und 7) zur Glättung der Zeitreihe
mutate(jmt = datetime_to_timestamp(lubridate::ymd(jmt))) %>% #Zeit-Format nötig für highcharts
mutate(Datenbank = fct_relevel(Datenbank, c("insgesamt", "erledigt", "offen"))) %>%
hchart(type = "line", hcaes(x = jmt, y = Anzahl, group = Datenbank))%>%
hc_xAxis(type = "datetime", dateTimeLabelFormats = list(jmt = '%d %b'),
title = list(text = "Arbeitstage im Jahr <br> <b>nach Anfragestatus:</b>")) %>%
hc_yAxis(title = list(text = "Anzahl der Anfragen")) %>%
hc_tooltip(crosshairs = TRUE, borderColor = "#446e9b", shared = TRUE, borderWidth = 2, borderRadius = 20, hideDelay = 1000, sort = TRUE) %>%
hc_exporting(enabled = TRUE,
buttons = list(contextButton = list(text = "Export", symbolStroke = "#446e9b",
menuItems = items)),
menuItemDefinitions = itemDef)Anzahl der Tabellenabrufe pro Monat nach EVAS-1-Steller und Abrufart
Diagrammansicht
aggregate_tab <- tab_rdb %>%
#Ohne Abrufart "Client" und EVAS "A" (themenübergreifende Tabellen des Regionalatlas)
filter(abrufart != "Client", EVAS1 != "A") %>%
#Abrufart umsortieren, damit die höchsten Zahlen links im Diagramm stehen
mutate(abrufart = fct_relevel(abrufart, c("Online", "Webservice", "Download Area", "Batch"))) %>%
arrange(abrufart) %>%
#Gruppieren zur Summierung der einzelnen Ausprägungskombinationen
group_by(monat, EVAS1, EVAS1_TXT, abrufart) %>%
#Summierung der einzelnen Ausprägungskombinationen
summarise(anzahl = sum(abrufe)) %>%
#Gruppierung des Tibbles aufheben
ungroup()
aggregate_tab %>%
ggplot(aes(monat, anzahl, fill = EVAS1_TXT)) +
geom_bar(stat="identity", width = 0.5) +
facet_grid(cols = vars(abrufart)) +
theme(legend.position="bottom",
legend.title = element_blank(),
plot.background = element_rect(fill="#FFFFFF"),
legend.background = element_rect(fill="#FFFFFF")) +
guides(fill=guide_legend(ncol=3)) +
labs(x = "Monat", y = "Anzahl der Datenabrufe") +
scale_fill_brewer(palette = "Paired")Tabellenansicht
aggregate_tab %>%
datatable(filter = "top",
rownames = FALSE,
extensions = "Buttons",
options = list(pageLength = 12,
dom = "Bftip",
initComplete = JS(
"function(settings, json) {",
"$(this.api().table().header()).css({'background-color': '#446e9b', 'color': '#fff'});",
"}"),
buttons = list("copy", "print",
list(extend = "collection",
buttons = c("csv", "excel"),
text = "Download")))) %>%
formatRound("anzahl", digits = 0, interval = 3, mark = ".")#Defintion von NKS und Tausender-TrennzeichenDie am häufigsten angefragten Fachthemen.
tab_rdb %>%
#Ohne Abrufart "Client" und EVAS "A" (themenübergreifende Tabellen des Regionalatlas)
filter(abrufart != "Client", EVAS1 != "A") %>%
select(tabname, abrufe) %>%
mutate(tabname_kurz = str_sub(tabname, 1, 11)) %>% #Tabellencode thematisch kürzen
group_by(tabname_kurz) %>%
summarise(Anzahl = sum(abrufe)) %>%
arrange(desc(Anzahl)) %>%
top_n(12) %>%
hchart(type = "bar", hcaes(x = tabname_kurz, y = Anzahl))%>%
hc_xAxis(title = list(text = "Tabellencode")) %>%
hc_yAxis(title = list(text = "Anzahl der Abrufe")) %>%
hc_tooltip(borderColor = "#446e9b", borderWidth = 2, borderRadius = 20, hideDelay = 1000, pointFormat = "Anzahl: {point.y}") %>%
hc_exporting(enabled = TRUE,
buttons = list(contextButton = list(text = "Export", symbolStroke = "#446e9b",
menuItems = items)),
menuItemDefinitions = itemDef)Die am seltensten abgerufenen Tabellen unabhängig von der Zugangsart.
tab_rdb %>%
#Ohne Abrufart "Client" und EVAS "A" (themenübergreifende Tabellen des Regionalatlas)
filter(abrufart != "Client", EVAS1 != "A", !str_detect(tabname, "TMP")) %>% #TMP-Tabellen rausfiltern
select(tabname, abrufe) %>%
mutate(tabname_kurz = str_sub(tabname, 1, 11)) %>% #Tabellencode thematisch kürzen
group_by(tabname_kurz) %>%
summarise(Anzahl = sum(abrufe)) %>%
arrange(Anzahl) %>%
top_n(-12) %>% #mit - werden die letzten 12 gewählt
hchart(type = "bar", hcaes(x = tabname_kurz, y = Anzahl))%>%
hc_xAxis(title = list(text = "Tabellencode")) %>%
hc_yAxis(title = list(text = "Anzahl der Abrufe")) %>%
hc_tooltip(borderColor = "#446e9b", borderWidth = 2, borderRadius = 20, hideDelay = 1000, pointFormat = "Anzahl: {point.y}") %>%
hc_exporting(enabled = TRUE,
buttons = list(contextButton = list(text = "Export", symbolStroke = "#446e9b",
menuItems = items)),
menuItemDefinitions = itemDef)Anzahl der Online-Nutzer, die entweder einen Werteabruf vorgenommen haben, oder die nur anderweitig recherchiert haben.
ben_rdb %>%
mutate(zeitstempel = datetime_to_timestamp(lubridate::ymd(datum))) %>% #Zeit-Format nötig für highcharts
select(kundentyp, abrufart, werteabruf, zeitstempel, abrufe) %>%
filter(kundentyp == "Gast" & abrufart == "Online") %>%
group_by(werteabruf, zeitstempel) %>%
summarise(anzahl = sum(abrufe)) %>%
hchart(type = "line", hcaes(x = zeitstempel, y = anzahl, group = werteabruf))%>%
hc_xAxis(type = "datetime", dateTimeLabelFormats = list(zeitstempel = '%d %b'),
title = list(text = "Tage im Jahr <br> <b>mit Werteabruf:</b>")) %>%
hc_yAxis(title = list(text = "Anzahl der Besuche")) %>%
hc_tooltip(crosshairs = TRUE, borderColor = "#446e9b", shared = TRUE, borderWidth = 2, borderRadius = 20, hideDelay = 1000, sort = TRUE) %>%
hc_exporting(enabled = TRUE,
buttons = list(contextButton = list(text = "Export", symbolStroke = "#446e9b",
menuItems = items)),
menuItemDefinitions = itemDef)Anzahl der Nutzer pro Monat nach Nutzerart und Abrufart
Diagrammansicht
aggregate_tab <- ben_rdb %>%
select(monat, kundentyp, abrufart, abrufe) %>%
filter((kundentyp == "Gast" | kundentyp == "Registriert" | kundentyp == "Interner") & (abrufart == "Online" | abrufart == "Webservice" | abrufart == "Download Area" | abrufart == "Batch")) %>%
#Abrufart umsortieren, damit die höchsten Zahlen links im Diagramm stehen
mutate(abrufart = fct_relevel(abrufart, c("Online", "Webservice", "Download Area", "Batch"))) %>%
mutate(kundentyp = fct_relevel(kundentyp, c("Gast", "Registriert", "Interner"))) %>%
arrange(abrufart, kundentyp) %>%
#Gruppieren zur Summierung der einzelnen Ausprägungskombinationen (Tagesdimension entfernen)
group_by(monat, kundentyp, abrufart) %>%
#Summierung der einzelnen Ausprägungskombinationen
summarise(anzahl = sum(abrufe)) %>%
#Gruppierung des Tibbles aufheben
ungroup()
aggregate_tab %>%
ggplot(aes(monat, anzahl, fill = kundentyp)) +
geom_bar(stat="identity", width = 0.5) +
facet_grid(. ~ abrufart) +
theme(legend.position="bottom", legend.title = element_blank()) +
labs(x = "Monat", y = "Anzahl der Nutzer") +
#Farbwerte aus Colorbrewer Stil "Paired", analog zu oben
scale_fill_brewer(palette = "Paired")Tabellenansicht
aggregate_tab %>%
datatable(filter = "top",
rownames = FALSE,
extensions = "Buttons",
options = list(pageLength = 12,
dom = "Bftip",
initComplete = JS(
"function(settings, json) {",
"$(this.api().table().header()).css({'background-color': '#446e9b', 'color': '#fff'});",
"}"),
buttons = list("copy", "print",
list(extend = "collection",
buttons = c("csv", "excel"),
text = "Download")))) %>%
formatRound("anzahl", digits = 0, interval = 3, mark = ".")Registrierte Nutzer können sich im Zuge der Registrierung einer Nutzerkategorie zuordnen. Dementsprechend gehen Gastnutzer nicht in die Anzahl ein.
nutzer_rdb %>%
arrange(Anzahl) %>%
hchart(type = "pie", hcaes(x = Nutzerkategorie, y = Anzahl))%>%
hc_tooltip(borderColor = "#446e9b", borderWidth = 2, borderRadius = 20, hideDelay = 1000, pointFormat = "{point.y} Personen") %>% #Änderung der Tooltips-Layouts und des Inhalts
hc_exporting(enabled = TRUE,
buttons = list(contextButton = list(text = "Export", symbolStroke = "#446e9b",
menuItems = items)),
menuItemDefinitions = itemDef)Die häufigsten Suchbegriffe mit Treffern von Nutzern der Online-Oberfläche
TOP-12-Ansicht
#Liste der Stoppwörter aus dem Package "stopwords" erstellen und mit Stoppzusatz verknüpfen
stopp_t <- tibble(word = stopwords("de")) %>% rbind(stoppzusatz_treffer)
treffer <- begriffe_rdb %>%
#Selektieren und Reihenfolge der benötigten Variablen
select(Begriff, Treffer, Zeitpunkt) %>%
#Treffer filtern (ohne Nieten) und auf Geschäftsjahr beschränken
filter((Treffer == 1 & year(Zeitpunkt) == 2018))%>%
#Begriffe trennen und verschiedene Bereinigungen mittels unnest_tokens()
unnest_tokens(word, Begriff) %>%
#Zahlen, Punktationen und 1er/2er-Buchstaben löschen
mutate(word = gsub(x = word, pattern = "[0-9]+|[[:punct:]]| *\\b[[:alpha:]]{1,2}\\b *", replacement = "")) %>%
#Fälle mit gelöschten Zahlen und Punktationen entfernen
filter((word != ""))%>%
#Stoppwörter entfernen
anti_join(stopp_t) %>%
#Wörter zählen und sortieren
count(word, sort = TRUE) %>%
mutate(word = reorder(word, n))
treffer %>%
#Minimum für Darstellung definieren - steuert auch die Anzahl der Begriffe (TOP-12)
filter(n > 500) %>%
hchart(type = "bar", hcaes(x = word, y = n))%>%
hc_xAxis(title = list(text = "Suchbegriffe (Treffer)")) %>%
hc_yAxis(title = list(text = "Anzahl der Abfragen")) %>%
hc_tooltip(borderColor = "#446e9b", borderWidth = 2, borderRadius = 20, hideDelay = 1000, pointFormat = "Anzahl: {point.y}") %>%
hc_exporting(enabled = TRUE,
buttons = list(contextButton = list(text = "Export", symbolStroke = "#446e9b",
menuItems = items)),
menuItemDefinitions = itemDef)Ansicht als Kacheldiagramm
Die häufigsten Suchbegriffe ohne Treffer von Nutzern der Online-Oberfläche
TOP-12-Ansicht
stopp_n <- tibble(word = stopwords("de")) %>% rbind(stoppzusatz_nieten)
nieten <- begriffe_rdb %>%
as.tibble() %>%
select(Begriff, Treffer, Zeitpunkt) %>%
#Treffer filtern (nur Nieten) und auf Geschäftsjahr beschränken
filter((Treffer == 0 & year(Zeitpunkt) == 2018)) %>%
unnest_tokens(word, Begriff) %>%
anti_join(stopp_n) %>%
mutate(word = gsub(x = word, pattern = "[0-9]+|[[:punct:]]| *\\b[[:alpha:]]{1,2}\\b *", replacement = "")) %>%
filter((word != ""))%>%
count(word, sort = TRUE) %>%
mutate(word = reorder(word, n))
nieten %>%
#Minimum für Darstellung definieren - steuert auch die Anzahl der TOP
filter(n > 68) %>%
hchart(type = "bar", hcaes(x = word, y = n))%>%
hc_xAxis(title = list(text = "Suchbegriffe (Nieten)")) %>%
hc_yAxis(title = list(text = "Anzahl der Abfragen")) %>%
hc_tooltip(borderColor = "#446e9b", borderWidth = 2, borderRadius = 20, hideDelay = 1000, pointFormat = "Anzahl: {point.y}") %>%
hc_exporting(enabled = TRUE,
buttons = list(contextButton = list(text = "Export", symbolStroke = "#446e9b",
menuItems = items)),
menuItemDefinitions = itemDef)Ansicht als Kacheldiagramm
Anzahl der Tabellenabrufe pro Monat nach Ländern und Abrufart
Diagrammansicht
aggregate_tab <- tab_bdb %>%
filter(abrufart != "Client" & laender != "99") %>%
#Abrufart umsortieren, damit die höchsten Zahlen links im Diagramm stehen
mutate(abrufart = fct_relevel(abrufart, c("Online", "Webservice", "Batch"))) %>%
arrange(abrufart) %>%
#Gruppieren zur Summierung der einzelnen Ausprägungskombinationen
group_by(monat, laender_TXT, abrufart) %>%
#Summierung der einzelnen Ausprägungskombinationen
summarise(anzahl = sum(abrufe)) %>%
#Gruppierung des Tibbles aufheben
ungroup()
farben <- colorRampPalette(brewer.pal(12, "Paired"))(16)#Farbpalette muss für 16 Länder erweitert werden
aggregate_tab %>%
ggplot(aes(monat, anzahl, fill = laender_TXT)) +
geom_bar(stat="identity", width = 0.5) +
facet_grid(cols = vars(abrufart)) +
theme(legend.position="bottom",
legend.title = element_blank(),
plot.background = element_rect(fill="#FFFFFF"),
legend.background = element_rect(fill="#FFFFFF")) +
guides(fill=guide_legend(ncol=4)) +
labs(x = "Monat", y = "Anzahl der Datenabrufe") +
scale_fill_manual(values = farben)Tabellenansicht
aggregate_tab %>%
datatable(filter = "top",
rownames = FALSE,
extensions = "Buttons",
options = list(pageLength = 12,
dom = "Bftip",
initComplete = JS(
"function(settings, json) {",
"$(this.api().table().header()).css({'background-color': '#446e9b', 'color': '#fff'});",
"}"),
buttons = list("copy", "print",
list(extend = "collection",
buttons = c("csv", "excel"),
text = "Download")))) %>%
formatRound("anzahl", digits = 0, interval = 3, mark = ".")Anzahl der Tabellenabrufe pro Monat nach Indikatorenbereichen und Abrufart
Diagrammansicht
aggregate_tab <- tab_bdb %>%
filter(abrufart != "Client" & laender != "99") %>%
#Abrufart umsortieren, damit die höchsten Zahlen links im Diagramm stehen
mutate(abrufart = fct_relevel(abrufart, c("Online", "Webservice", "Batch"))) %>%
arrange(abrufart) %>%
mutate(indikator_TXT = fct_relevel(indikator_TXT, c("Rahmenbedingungen", "Frühkindliche Bildung", "Allgemeinbildende Schulen", "Berufliche Bildung","Hochschulen"))) %>%
arrange(indikator_TXT) %>%
#Gruppieren zur Summierung der einzelnen Ausprägungskombinationen
group_by(monat, indikator_TXT, abrufart) %>%
#Summierung der einzelnen Ausprägungskombinationen
summarise(anzahl = sum(abrufe)) %>%
#Gruppierung des Tibbles aufheben
ungroup()
aggregate_tab %>%
ggplot(aes(monat, anzahl, fill = indikator_TXT)) +
geom_bar(stat="identity", width = 0.5) +
facet_grid(cols = vars(abrufart)) +
theme(legend.position="bottom",
legend.title = element_blank(),
plot.background = element_rect(fill="#FFFFFF"),
legend.background = element_rect(fill="#FFFFFF")) +
guides(fill=guide_legend(ncol=5)) +
labs(x = "Monat", y = "Anzahl der Datenabrufe") +
scale_fill_brewer(palette = "Paired")Tabellenansicht
aggregate_tab %>%
datatable(filter = "top",
rownames = FALSE,
extensions = "Buttons",
options = list(pageLength = 12,
dom = "Bftip",
initComplete = JS(
"function(settings, json) {",
"$(this.api().table().header()).css({'background-color': '#446e9b', 'color': '#fff'});",
"}"),
buttons = list("copy", "print",
list(extend = "collection",
buttons = c("csv", "excel"),
text = "Download")))) %>%
formatRound("anzahl", digits = 0, interval = 3, mark = ".")Die am häufigsten abgerufenen Tabellen unabhängig von der Zugangsart. Aufgrund der speziellen Fachstruktur der Bildungsdatenbank sind keine individuellen, sondern nur nach Kapitel und Land aggregierte Tabellen auswertbar.
tab_bdb %>%
#Ohne Abrufart "Client" und EVAS "A" (themenübergreifende Tabellen des Regionalatlas)
filter(abrufart != "Client" & laender != "99") %>%
select(tabname, abrufe) %>%
mutate(tabname_kurz = str_sub(tabname, 1, 5)) %>% #Tabellencode thematisch kürzen
group_by(tabname_kurz) %>%
summarise(Anzahl = sum(abrufe)) %>%
arrange(desc(Anzahl)) %>%
top_n(12) %>%
hchart(type = "bar", hcaes(x = tabname_kurz, y = Anzahl))%>%
hc_xAxis(title = list(text = "Tabellencode")) %>%
hc_yAxis(title = list(text = "Anzahl der Abrufe")) %>%
hc_tooltip(borderColor = "#446e9b", borderWidth = 2, borderRadius = 20, hideDelay = 1000, pointFormat = "Anzahl: {point.y}") %>%
hc_exporting(enabled = TRUE,
buttons = list(contextButton = list(text = "Export", symbolStroke = "#446e9b",
menuItems = items)),
menuItemDefinitions = itemDef)Die am seltensten abgerufenen Tabellen unabhängig von der Zugangsart. Aufgrund der speziellen Fachstruktur der Bildungsdatenbank sind keine individuellen, sondern nur nach Kapitel und Land aggregierte Tabellen auswertbar.
tab_bdb %>%
#Ohne Abrufart "Client" und EVAS "A" (themenübergreifende Tabellen des Regionalatlas)
filter(abrufart != "Client" & laender != "99") %>% #TMP-Tabellen rausfiltern
select(tabname, abrufe) %>%
mutate(tabname_kurz = str_sub(tabname, 1, 5)) %>% #Tabellencode thematisch kürzen
group_by(tabname_kurz) %>%
summarise(Anzahl = sum(abrufe)) %>%
arrange(Anzahl) %>%
top_n(-12) %>% #mit - werden die letzten 12 gewählt
hchart(type = "bar", hcaes(x = tabname_kurz, y = Anzahl))%>%
hc_xAxis(title = list(text = "Tabellencode")) %>%
hc_yAxis(title = list(text = "Anzahl der Abrufe")) %>%
hc_tooltip(borderColor = "#446e9b", borderWidth = 2, borderRadius = 20, hideDelay = 1000, pointFormat = "Anzahl: {point.y}") %>%
hc_exporting(enabled = TRUE,
buttons = list(contextButton = list(text = "Export", symbolStroke = "#446e9b",
menuItems = items)),
menuItemDefinitions = itemDef)Anzahl der Online-Nutzer, die entweder einen Werteabruf vorgenommen haben, oder die nur anderweitig recherchiert haben.
ben_bdb %>%
mutate(zeitstempel = datetime_to_timestamp(lubridate::ymd(datum))) %>% #Zeit-Format nötig für highcharts
select(kundentyp, abrufart, werteabruf, zeitstempel, abrufe) %>%
filter(kundentyp == "Gast" & abrufart == "Online") %>%
group_by(werteabruf, zeitstempel) %>%
summarise(anzahl = sum(abrufe)) %>%
hchart(type = "line", hcaes(x = zeitstempel, y = anzahl, group = werteabruf))%>%
hc_xAxis(type = "datetime", dateTimeLabelFormats = list(zeitstempel = '%d %b'),
title = list(text = "Tage im Jahr <br> <b>mit Werteabruf:</b>")) %>%
hc_yAxis(title = list(text = "Anzahl der Besuche")) %>%
hc_tooltip(crosshairs = TRUE, borderColor = "#446e9b", shared = TRUE, borderWidth = 2, borderRadius = 20, hideDelay = 1000, sort = TRUE) %>%
hc_exporting(enabled = TRUE,
buttons = list(contextButton = list(text = "Export", symbolStroke = "#446e9b",
menuItems = items)),
menuItemDefinitions = itemDef)Anzahl der Nutzer pro Monat nach Nutzerart und Abrufart
Diagrammansicht
aggregate_tab <- ben_bdb %>%
select(monat, kundentyp, abrufart, abrufe) %>%
filter((kundentyp == "Gast" | kundentyp == "Registriert" | kundentyp == "Interner") & (abrufart == "Online" | abrufart == "Webservice" | abrufart == "Batch")) %>%
mutate(abrufart = fct_relevel(abrufart, c("Online", "Webservice", "Batch"))) %>%
mutate(kundentyp = fct_relevel(kundentyp, c("Gast", "Registriert", "Interner"))) %>%
arrange(abrufart, kundentyp) %>%
#Gruppieren zur Summierung der einzelnen Ausprägungskombinationen (Tagesdimension entfernen)
group_by(monat, kundentyp, abrufart) %>%
#Summierung der einzelnen Ausprägungskombinationen
summarise(anzahl = sum(abrufe)) %>%
#Gruppierung des Tibbles aufheben
ungroup()
aggregate_tab %>%
ggplot(aes(monat, anzahl, fill = kundentyp)) +
geom_bar(stat="identity", width = 0.5) +
facet_grid(. ~ abrufart) +
theme(legend.position="bottom", legend.title = element_blank()) +
labs(x = "Monat", y = "Anzahl der Nutzer") +
#Farbwerte aus Colorbrewer Stil "Paired", analog zu oben
scale_fill_brewer(palette = "Paired")Tabellenansicht
aggregate_tab %>%
datatable(filter = "top",
rownames = FALSE,
extensions = "Buttons",
options = list(pageLength = 12,
dom = "Bftip",
initComplete = JS(
"function(settings, json) {",
"$(this.api().table().header()).css({'background-color': '#446e9b', 'color': '#fff'});",
"}"),
buttons = list("copy", "print",
list(extend = "collection",
buttons = c("csv", "excel"),
text = "Download")))) %>%
formatRound("anzahl", digits = 0, interval = 3, mark = ".")Registrierte Nutzer können sich im Zuge der Registrierung einer Nutzerkategorie zuordnen. Dementsprechend gehen Gastnutzer nicht in die Anzahl ein.
nutzer_bdb %>%
arrange(Anzahl) %>%
hchart(type = "pie", hcaes(x = Nutzerkategorie, y = Anzahl))%>%
hc_tooltip(borderColor = "#446e9b", borderWidth = 2, borderRadius = 20, hideDelay = 1000, pointFormat = "{point.y} Personen") %>%
hc_exporting(enabled = TRUE,
buttons = list(contextButton = list(text = "Export", symbolStroke = "#446e9b",
menuItems = items)),
menuItemDefinitions = itemDef)Die häufigsten Suchbegriffe mit Treffern von Nutzern der Online-Oberfläche
TOP-12-Ansicht
treffer <- begriffe_bdb %>%
#Selektieren und Reihenfolge der benötigten Variablen
select(Begriff, Treffer, Zeitpunkt) %>%
#Treffer filtern (ohne Nieten) und auf Geschäftsjahr beschränken
filter((Treffer == 1 & year(Zeitpunkt) == 2018)) %>%
#Begriffe trennen und verschiedene Bereinigungen mittels unnest_tokens()
unnest_tokens(word, Begriff) %>%
#Zahlen, Punktationen und 1er/2er-Buchstaben löschen
mutate(word = gsub(x = word, pattern = "[0-9]+|[[:punct:]]| *\\b[[:alpha:]]{1,2}\\b *", replacement = "")) %>%
#Fälle mit gelöschten Zahlen und Punktationen entfernen
filter((word != ""))%>%
#Stoppwörter entfernen
anti_join(stopp_t) %>%
#Wörter zählen und sortieren
count(word, sort = TRUE) %>%
mutate(word = reorder(word, n))
treffer %>%
#Minimum für Darstellung definieren - steuert auch die Anzahl der Begriffe (TOP-12)
filter(n > 70) %>%
hchart(type = "bar", hcaes(x = word, y = n))%>%
hc_xAxis(title = list(text = "Suchbegriffe (Treffer)")) %>%
hc_yAxis(title = list(text = "Anzahl der Abfragen")) %>%
hc_tooltip(borderColor = "#446e9b", borderWidth = 2, borderRadius = 20, hideDelay = 1000, pointFormat = "Anzahl: {point.y}") %>%
hc_exporting(enabled = TRUE,
buttons = list(contextButton = list(text = "Export", symbolStroke = "#446e9b",
menuItems = items)),
menuItemDefinitions = itemDef)Ansicht als Kacheldiagramm
Die häufigsten Suchbegriffe ohne Treffer von Nutzern der Online-Oberfläche
TOP-12-Ansicht
nieten <- begriffe_bdb %>%
as.tibble() %>%
select(Begriff, Treffer, Zeitpunkt) %>%
#Treffer filtern (nur Nieten) und auf Geschäftsjahr beschränken
filter((Treffer == 0 & year(Zeitpunkt) == 2018)) %>%
unnest_tokens(word, Begriff) %>%
mutate(word = gsub(x = word, pattern = "[0-9]+|[[:punct:]]| *\\b[[:alpha:]]{1,2}\\b *", replacement = "")) %>%
filter((word != ""))%>%
anti_join(stopp_n) %>%
count(word, sort = TRUE) %>%
mutate(word = reorder(word, n))
nieten %>%
#Minimum für Darstellung definieren - steuert auch die Anzahl der TOP
filter(n > 9) %>%
hchart(type = "bar", hcaes(x = word, y = n))%>%
hc_xAxis(title = list(text = "Suchbegriffe (Nieten)")) %>%
hc_yAxis(title = list(text = "Anzahl der Abfragen")) %>%
hc_tooltip(borderColor = "#446e9b", borderWidth = 2, borderRadius = 20, hideDelay = 1000, pointFormat = "Anzahl: {point.y}") %>%
hc_exporting(enabled = TRUE,
buttons = list(contextButton = list(text = "Export", symbolStroke = "#446e9b",
menuItems = items)),
menuItemDefinitions = itemDef)Ansicht als Kacheldiagramm
Anzahl der Tabellenabrufe pro Monat nach EVAS-1-Steller und Abrufart
Diagrammansicht
aggregate_tab <- tab_ldb %>%
#Ohne Abrufart "Client" und EVAS "A" (themenübergreidende Tabellen des Regionalatlas)
filter(abrufart != "Client") %>%
#Abrufart umsortieren, damit die höchsten Zahlen links im Diagramm stehen
mutate(abrufart = fct_relevel(abrufart, c("Online", "Webservice", "Batch"))) %>%
arrange(abrufart) %>%
#Gruppieren zur Summierung der einzelnen Ausprägungskombinationen
group_by(monat, EVAS1, EVAS1_TXT, abrufart) %>%
#Summierung der einzelnen Ausprägungskombinationen
summarise(anzahl = sum(abrufe)) %>%
#Gruppierung des Tibbles aufheben
ungroup()
aggregate_tab %>%
ggplot(aes(monat, anzahl, fill = EVAS1_TXT)) +
geom_bar(stat="identity", width = 0.5) +
facet_grid(cols = vars(abrufart)) +
theme(legend.position="bottom",
legend.title = element_blank(),
plot.background = element_rect(fill="#FFFFFF"),
legend.background = element_rect(fill="#FFFFFF")) +
guides(fill=guide_legend(ncol=3)) +
labs(x = "Monat", y = "Anzahl der Datenabrufe") +
scale_fill_brewer(palette = "Paired")Tabellenansicht
aggregate_tab %>%
datatable(filter = "top",
rownames = FALSE,
extensions = "Buttons",
options = list(pageLength = 12,
dom = "Bftip",
initComplete = JS(
"function(settings, json) {",
"$(this.api().table().header()).css({'background-color': '#446e9b', 'color': '#fff'});",
"}"),
buttons = list("copy", "print",
list(extend = "collection",
buttons = c("csv", "excel"),
text = "Download")))) %>%
formatRound("anzahl", digits = 0, interval = 3, mark = ".")Die am häufigsten abgerufenen Tabellen unabhängig von der Zugangsart.
tab_ldb %>%
filter(abrufart != "Client" & EVAS1 != "9" & !str_detect(tabname, "XXX")) %>% #XXX-Tabellen rausfiltern
select(tabname, abrufe) %>%
mutate(tabname_kurz = str_sub(tabname, 1, 11)) %>%
group_by(tabname_kurz) %>%
summarise(Anzahl = sum(abrufe)) %>%
arrange(desc(Anzahl)) %>%
top_n(12) %>%
hchart(type = "bar", hcaes(x = tabname_kurz, y = Anzahl))%>%
hc_xAxis(title = list(text = "Tabellencode")) %>%
hc_yAxis(title = list(text = "Anzahl der Abrufe")) %>%
hc_tooltip(borderColor = "#446e9b", borderWidth = 2, borderRadius = 20, hideDelay = 1000, pointFormat = "Anzahl: {point.y}") %>%
hc_exporting(enabled = TRUE,
buttons = list(contextButton = list(text = "Export", symbolStroke = "#446e9b",
menuItems = items)),
menuItemDefinitions = itemDef)Die am seltensten abgerufenen Tabellen unabhängig von der Zugangsart.
Anzahl der Online-Nutzer, die entweder einen Werteabruf vorgenommen haben, oder die nur anderweitig recherchiert haben.
ben_ldb %>%
mutate(zeitstempel = datetime_to_timestamp(lubridate::ymd(datum))) %>% #Zeit-Format nötig für highcharts
select(kundentyp, abrufart, werteabruf, zeitstempel, abrufe) %>%
filter(kundentyp == "Gast" & abrufart == "Online") %>%
group_by(werteabruf, zeitstempel) %>%
summarise(anzahl = sum(abrufe)) %>%
hchart(type = "line", hcaes(x = zeitstempel, y = anzahl, group = werteabruf))%>%
hc_xAxis(type = "datetime", dateTimeLabelFormats = list(zeitstempel = '%d %b'),
title = list(text = "Tage im Jahr <br> <b>mit Werteabruf:</b>")) %>%
hc_yAxis(title = list(text = "Anzahl der Besuche")) %>%
hc_tooltip(crosshairs = TRUE, borderColor = "#446e9b", shared = TRUE, borderWidth = 2, borderRadius = 20, hideDelay = 1000, sort = TRUE) %>%
hc_exporting(enabled = TRUE,
buttons = list(contextButton = list(text = "Export", symbolStroke = "#446e9b",
menuItems = items)),
menuItemDefinitions = itemDef)Anzahl der Nutzer pro Monat nach Nutzerart und Abrufart
Diagrammansicht
aggregate_tab <- ben_ldb %>%
select(monat, kundentyp, abrufart, abrufe) %>%
filter((kundentyp == "Gast" | kundentyp == "Registriert" | kundentyp == "Interner") & (abrufart == "Online" | abrufart == "Webservice" | abrufart == "Batch")) %>%
#Abrufart umsortieren, damit die höchsten Zahlen links im Diagramm stehen
mutate(abrufart = fct_relevel(abrufart, c("Online", "Webservice", "Batch"))) %>%
mutate(kundentyp = fct_relevel(kundentyp, c("Gast", "Registriert", "Interner"))) %>%
arrange(abrufart, kundentyp) %>%
#Gruppieren zur Summierung der einzelnen Ausprägungskombinationen (Tagesdimension entfernen)
group_by(monat, kundentyp, abrufart) %>%
#Summierung der einzelnen Ausprägungskombinationen
summarise(anzahl = sum(abrufe)) %>%
#Gruppierung des Tibbles aufheben
ungroup()
aggregate_tab %>%
ggplot(aes(monat, anzahl, fill = kundentyp)) +
geom_bar(stat="identity", width = 0.5) +
facet_grid(. ~ abrufart) +
theme(legend.position="bottom", legend.title = element_blank()) +
labs(x = "Monat", y = "Anzahl der Nutzer") +
#Farbwerte aus Colorbrewer Stil "Paired", analog zu oben
scale_fill_brewer(palette = "Paired")Tabellenansicht
aggregate_tab %>%
datatable(filter = "top",
rownames = FALSE,
extensions = "Buttons",
options = list(pageLength = 12,
dom = "Bftip",
initComplete = JS(
"function(settings, json) {",
"$(this.api().table().header()).css({'background-color': '#446e9b', 'color': '#fff'});",
"}"),
buttons = list("copy", "print",
list(extend = "collection",
buttons = c("csv", "excel"),
text = "Download")))) %>%
formatRound("anzahl", digits = 0, interval = 3, mark = ".")Registrierte Nutzer können sich im Zuge der Registrierung einer Nutzerkategorie zuordnen. Dementsprechend gehen Gastnutzer nicht in die Anzahl ein.
nutzer_ldb %>%
arrange(Anzahl) %>%
hchart(type = "pie", hcaes(x = Nutzerkategorie, y = Anzahl))%>%
hc_tooltip(borderColor = "#446e9b", borderWidth = 2, borderRadius = 20, hideDelay = 1000, pointFormat = "{point.y} Personen") %>%
hc_exporting(enabled = TRUE,
buttons = list(contextButton = list(text = "Export", symbolStroke = "#446e9b",
menuItems = items)),
menuItemDefinitions = itemDef)Die häufigsten Suchbegriffe mit Treffern von Nutzern der Online-Oberfläche
TOP-12-Ansicht
treffer <- begriffe_ldb %>%
#Selektieren und Reihenfolge der benötigten Variablen
select(Begriff, Treffer, Zeitpunkt) %>%
#Treffer filtern (ohne Nieten) und auf Geschäftsjahr beschränken
filter((Treffer == 1 & year(Zeitpunkt) == 2018))%>%
#Begriffe trennen und verschiedene Bereinigungen mittels unnest_tokens()
unnest_tokens(word, Begriff) %>%
#Zahlen, Punktationen und 1er/2er-Buchstaben löschen
mutate(word = gsub(x = word, pattern = "[0-9]+|[[:punct:]]| *\\b[[:alpha:]]{1,2}\\b *", replacement = "")) %>%
#Fälle mit gelöschten Zahlen und Punktationen entfernen
filter((word != ""))%>%
#Stoppwörter entfernen
anti_join(stopp_t) %>%
#Wörter zählen und sortieren
count(word, sort = TRUE) %>%
mutate(word = reorder(word, n))
treffer %>%
#Minimum für Darstellung definieren - steuert auch die Anzahl der Begriffe (TOP-12)
filter(n > 285) %>%
hchart(type = "bar", hcaes(x = word, y = n))%>%
hc_xAxis(title = list(text = "Suchbegriffe (Treffer)")) %>%
hc_yAxis(title = list(text = "Anzahl der Abfragen")) %>%
hc_tooltip(borderColor = "#446e9b", borderWidth = 2, borderRadius = 20, hideDelay = 1000, pointFormat = "Anzahl: {point.y}") %>%
hc_exporting(enabled = TRUE,
buttons = list(contextButton = list(text = "Export", symbolStroke = "#446e9b",
menuItems = items)),
menuItemDefinitions = itemDef)Ansicht als Kacheldiagramm
Die häufigsten Suchbegriffe ohne Treffer von Nutzern der Online-Oberfläche
TOP-12-Ansicht
nieten <- begriffe_ldb %>%
as.tibble() %>%
select(Begriff, Treffer, Zeitpunkt) %>%
#Treffer filtern (nur Nieten) und auf Geschäftsjahr beschränken
filter((Treffer == 0 & year(Zeitpunkt) == 2018)) %>%
unnest_tokens(word, Begriff) %>%
mutate(word = gsub(x = word, pattern = "[0-9]+|[[:punct:]]| *\\b[[:alpha:]]{1,2}\\b *", replacement = "")) %>%
filter((word != ""))%>%
anti_join(stopp_n) %>%
count(word, sort = TRUE) %>%
mutate(word = reorder(word, n))
nieten %>%
#Minimum für Darstellung definieren - steuert auch die Anzahl der TOP
filter(n > 65) %>%
hchart(type = "bar", hcaes(x = word, y = n))%>%
hc_xAxis(title = list(text = "Suchbegriffe (Nieten)")) %>%
hc_yAxis(title = list(text = "Anzahl der Abfragen")) %>%
hc_tooltip(borderColor = "#446e9b", borderWidth = 2, borderRadius = 20, hideDelay = 1000, pointFormat = "Anzahl: {point.y}") %>%
hc_exporting(enabled = TRUE,
buttons = list(contextButton = list(text = "Export", symbolStroke = "#446e9b",
menuItems = items)),
menuItemDefinitions = itemDef)Ansicht als Kacheldiagramm
## R version 4.3.3 (2024-02-29)
## Platform: x86_64-pc-linux-gnu (64-bit)
## Running under: Manjaro Linux
##
## Matrix products: default
## BLAS: /usr/lib/libblas.so.3.12.0
## LAPACK: /usr/lib/liblapack.so.3.12.0
##
## locale:
## [1] LC_CTYPE=de_DE.UTF-8 LC_NUMERIC=C LC_TIME=de_DE.UTF-8 LC_COLLATE=de_DE.UTF-8 LC_MONETARY=de_DE.UTF-8
## [6] LC_MESSAGES=de_DE.UTF-8 LC_PAPER=de_DE.UTF-8 LC_NAME=C LC_ADDRESS=C LC_TELEPHONE=C
## [11] LC_MEASUREMENT=de_DE.UTF-8 LC_IDENTIFICATION=C
##
## time zone: Europe/Berlin
## tzcode source: system (glibc)
##
## attached base packages:
## [1] stats graphics grDevices utils datasets methods base
##
## other attached packages:
## [1] highcharter_0.9.4 kableExtra_1.4.0 DT_0.32 stopwords_2.3 tidytext_0.4.1 RColorBrewer_1.1-3 ggthemes_5.1.0
## [8] lubridate_1.9.3 forcats_1.0.0 stringr_1.5.1 dplyr_1.1.4 purrr_1.0.2 readr_2.1.5 tidyr_1.3.1
## [15] tibble_3.2.1 ggplot2_3.5.0 tidyverse_2.0.0
##
## loaded via a namespace (and not attached):
## [1] tidyselect_1.2.1 viridisLite_0.4.2 farver_2.1.1 fastmap_1.1.1 janeaustenr_1.0.0 digest_0.6.35 timechange_0.3.0 lifecycle_1.0.4
## [9] tokenizers_0.3.0 magrittr_2.0.3 compiler_4.3.3 rlang_1.1.3 sass_0.4.9 tools_4.3.3 igraph_2.0.3 utf8_1.2.4
## [17] yaml_2.3.8 data.table_1.15.4 knitr_1.45 labeling_0.4.3 htmlwidgets_1.6.4 bit_4.0.5 curl_5.2.1 xml2_1.3.6
## [25] TTR_0.24.4 withr_3.0.0 grid_4.3.3 fansi_1.0.6 xts_0.13.2 colorspace_2.1-0 scales_1.3.0 cli_3.6.2
## [33] rmarkdown_2.26 crayon_1.5.2 generics_0.1.3 rlist_0.4.6.2 rstudioapi_0.16.0 tzdb_0.4.0 cachem_1.0.8 assertthat_0.2.1
## [41] parallel_4.3.3 vctrs_0.6.5 Matrix_1.6-5 jsonlite_1.8.8 hms_1.1.3 bit64_4.0.5 crosstalk_1.2.1 systemfonts_1.0.6
## [49] fontawesome_0.5.2 jquerylib_0.1.4 quantmod_0.4.26 glue_1.7.0 stringi_1.8.3 gtable_0.3.4 munsell_0.5.0 pillar_1.9.0
## [57] htmltools_0.5.8 R6_2.5.1 vroom_1.6.5 evaluate_0.23 lattice_0.22-5 highr_0.10 backports_1.4.1 SnowballC_0.7.1
## [65] broom_1.0.5 bslib_0.7.0 Rcpp_1.0.12 svglite_2.1.3 xfun_0.43 zoo_1.8-12 pkgconfig_2.0.3
Dieses Werk ist lizenziert unter einer Creative Commons Attribution-ShareAlike 4.0 International License.